package com.sayimo.maker.user.service;

import java.util.List;
import java.util.Map;

import com.sayimo.framework.exception.DaoException;
import com.sayimo.framework.exception.ServiceException;
import com.sayimo.maker.user.vo.ReceivingAddress;


/**
 * @Copyright (c) 2016 广东省尚一互联网有限公司
 * @Project: maker-user
 * @ClassName: ReceivingAddressInterfaceService.java
 * @Description: 收货地址
 * @Author:	tanxin
 * @Date:2017年2月8日,上午11:23:28
 * @Version 1.0.0
 */
public interface ReceivingAddressInterfaceService {
	
	/**
	 * 
	 * @MethodName queryAddressByCond
	 * @Description 按条件获取收货地址信息
	 * 
	 * @author chenpy
	 * @date 2015年12月25日 下午2:47:49
	 * @param 
	 * @return List<ReceivingAddress>
	 * @VERSION 1.0.0
	 */
	public List<ReceivingAddress> queryAddressByCond(ReceivingAddress address) throws ServiceException;
	
	/**
	 * 
	 * @MethodName deleteByPrimaryKey
	 * @Description 删除收货地址
	 * 
	 * @author chenpy
	 * @date 2015年12月25日 下午2:48:01
	 * @param 
	 * @return MessageVo
	 * @VERSION 1.0.0
	 */
	public Map<String,Object> deleteByPrimaryKey(Integer id) throws ServiceException;
	
	/**
	 * 
	 * @MethodName insertSelective
	 * @Description 添加收货地址
	 * 
	 * @author chenpy
	 * @date 2015年12月25日 下午2:48:08
	 * @param 
	 * @return MessageVo
	 * @VERSION 1.0.0
	 */
	public Map<String,Object> insertSelective(ReceivingAddress address) throws ServiceException;
	
	/**
	 * 
	 * @MethodName updateByPrimaryKeySelective
	 * @Description 修改收货地址
	 * 
	 * @author chenpy
	 * @date 2015年12月25日 下午2:48:15
	 * @param 
	 * @return MessageVo
	 * @VERSION 1.0.0
	 */
	public Map<String,Object> updateByPrimaryKeySelective(ReceivingAddress address) throws ServiceException;
	
	/**
	 * 
	 * @MethodName selectDefaultAddress
	 * @Description 查询默认的收货地址
	 * 
	 * @author chenpy
	 * @date 2015年12月25日 下午2:48:22
	 * @param 
	 * @return ReceivingAddress
	 * @VERSION 1.0.0
	 */
	public ReceivingAddress selectDefaultAddress(ReceivingAddress address) throws ServiceException;
	
	/**
	 * 
	 * @MethodName getReceiveAddressAPI
	 * @Description 接口返回“我”的收货地址
	 * 
	 * @author chenpy
	 * @date 2015年12月25日 下午2:51:22
	 * @param 
	 * @return Map
	 * @VERSION 1.0.0
	 */
	@SuppressWarnings("rawtypes")
	public Map getReceiveAddressAPI(ReceivingAddress address) throws ServiceException;
	
	/**
	 * 
	 * @MethodName getReceiveAddressByIdAPI
	 * @Description 查询收货地址详情
	 * 
	 * @author chenpy
	 * @date 2015年12月25日 下午2:51:22
	 * @param 
	 * @return Map
	 * @VERSION 1.0.0
	 */
	@SuppressWarnings("rawtypes")
	public Map getReceiveAddressByIdAPI(ReceivingAddress address) throws ServiceException, DaoException;
	
	/** 
	* @Title: selectMemberDefaultAddress 
	* @Author: 王瑞清
	* @Date:日期：2016年1月8日  时间：下午2:57:05
	* @Description: 获取会员默认收货地址
	* @param memberId
	* @throws ServiceException
	* @return ReceivingAddress
	* @Version 1.0.0
	*/ 
	public ReceivingAddress selectMemberDefaultAddress(Integer memberId) throws ServiceException;
}
